#if !defined(__APP_MQTT_H)
#define __APP_MQTT_H

#define ADDRESS "tcp://192.168.12.34:1883"
#define CLIENTID "b253ba38-daf6-4b37-984f-5d8fdc6a1cfa"
#define TOPIC_RTG "remote_to_gateway"   //收消息
#define TOPIC_GTR "gateway_to_remote"  //发消息
#define PAYLOAD "Hello World!"
#define QOS 1
#define TIMEOUT 10000L

/**
 * @brief 初始化MQTT
 * 
 * @return int 成功返回0，失败返回-1
 */
int app_mqtt_init(void);


/**
 * @brief 关闭MQTT
 * 
 */
void app_mqtt_close(void);

/**
 * @brief 发送MQTT消息
 * 
 * @param json 要发送的JSON字符串
 * @return int 成功返回0，失败返回-1
 */
int app_mqtt_send(char *json);

/**
 * @brief 注册接收消息的回调函数
 * 
 * @param callback 回调函数指针，参数为接收到的JSON字符串
 */
void app_mqtt_register_callback(int (*callback)(char *json));

#endif // MACRO
